home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cachefsd_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  92 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10951);
  10.  script_bugtraq_id(4631);
  11.  script_version ("$Revision: 1.14 $");
  12.  script_cve_id("CAN-2002-0084");
  13.  
  14.  name["english"] = "cachefsd overflow";
  15.  script_name(english:name["english"]);
  16.  
  17.  desc["english"] = "
  18. The cachefsd RPC service is running on this port.
  19.  
  20. Multiple vulnerabilities exist in this service.  At least
  21. one heap overflow vulnerability can be exploited remotely
  22. to obtain root privileges by sending a long directory and
  23. cache name request to the service.  A buffer overflow can
  24. result in root privileges from local users exploiting the
  25. fscache_setup function with a long mount argument.
  26.  
  27.  
  28. Solaris 2.5.1, 2.6, 7 and 8 are vulnerable to this
  29. issue. Sun patch 110896-02 is available for Solaris 8.
  30. Other operating systems might be affected as well.
  31.  
  32.  
  33. *** Nessus did not check for this vulnerability, 
  34. *** so this might be a false positive
  35.  
  36. Solution : Deactivate this service - there is no patch at this time
  37.            for pre-8 systems
  38.             /etc/init.d/cachefs.daemon stop
  39.           AND:
  40.           Edit /etc/inetd.conf and disable the 100235/rcp service:
  41.             #100235/1 tli rpc/tcp wait root /usr/lib/fs/cachefsd cachefsd
  42.           Then kill -HUP the inetd process id.
  43.           These activities may need to be repeated after every
  44.           patch installation.
  45.  
  46. Risk factor : High";
  47.  
  48.  
  49.  
  50.  script_description(english:desc["english"]);
  51.  
  52.  summary["english"] = "Checks the presence of a RPC service";
  53.  summary["francais"] = "VΘrifie la prΘsence d'un service RPC";
  54.  script_summary(english:summary["english"], francais:summary["francais"]);
  55.  
  56.  script_category(ACT_GATHER_INFO);
  57.  
  58.  
  59.  script_copyright(english:"This script is Copyright (C) 2002 Renaud Deraison",
  60.         francais:"Ce script est Copyright (C) 2002 Renaud Deraison");
  61.  family["english"] = "Gain root remotely"; 
  62.  family["francais"] = "Passer root α distance";
  63.  script_family(english:family["english"], francais:family["francais"]);
  64.  script_dependencie("rpc_portmap.nasl");
  65.  script_require_keys("rpc/portmap");
  66.  exit(0);
  67. }
  68.  
  69. #
  70. # The script code starts here
  71. #
  72.  
  73. include("misc_func.inc");
  74.  
  75. #
  76. # This is kinda lame but there's no way (yet) to remotely determine if
  77. # this service is vulnerable to this flaw.
  78. RPC_PROG = 100235;
  79. tcp = 0;
  80. port = get_rpc_port(program:RPC_PROG, protocol:IPPROTO_UDP);
  81. if(!port){
  82.     port = get_rpc_port(program:RPC_PROG, protocol:IPPROTO_TCP);
  83.     tcp = 1;
  84.     }
  85.  
  86. if(port)
  87. {
  88.  if(tcp)security_hole(port);
  89.  else security_hole(port, protocol:"udp");
  90. }
  91.